home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / telecomm / uemail.arc / UEMAIL.KEY < prev    next >
Text File  |  1987-01-19  |  22KB  |  427 lines

  1.                                Time: 10:36:56 am
  2.                                    Uemail
  3.  
  4. Uemail is an emacs-like full-screen editor for the Atari-ST computer
  5. equipped with a color monitor.  It supports all of the major commands
  6. offered by microEmacs version 30, plus some extensions that make its
  7. interface closer to that used by GNU_EMACS.  In fact, uemail is designed to
  8. work in tandem with GNU_EMACS on a remote computer. When the program is
  9. connected to the serial line, all of the function keys and the number pad
  10. keys send the same commands as they do from within uemail, and the defined
  11. keyboard macros (macros triggered by the accent grave key) are also sent
  12. accross the line. This allows you to set up special function key definition
  13. files and macro definition files to use with a remote emacs.  In addition
  14. to the emacs editing commands, uemail has a complete terminal connect mode
  15. which supports kermit protocol for 7-bit transfers between two computers.
  16. This ability allows the editor to work with text from a remote system and
  17. to transfer it back to that system when done.  For remotes that do not
  18. support the kermit protocol there are log and transfer commands which use
  19. the ST's flow control (settable from within the terminal mode) to transfer
  20. text without dropping characters (provided that the remote supports one of
  21. the ST's handshaking protocols).  For those who do not use the EMULATOR.ACC
  22. desk accessory, uemail will set the baud rate while in connect mode.  At
  23. the beginning of the connect session, the baud rate defaults to 1200 bps,
  24. but it can be reset to 300, 9600, or 19200 bps.  When uemail exits from
  25. terminal mode, it saves the terminal screen. When it returns to terminal
  26. mode, it rewrites that screen placing the cursor at its previous position.
  27.  
  28. For the text editor programmer, uemail has a built-in write macro command
  29. which translates uemail keyboard macros into C source code, allowing quick
  30. prototyping of new functions to be added to the program.  Additional macro
  31. commands store, save, and recover keyboard macros in their keycode form,
  32. allowing the user to design macro files by simply recording keystrokes for
  33. functions.  For programmers uemail provides a basic `cc' command designed
  34. to drive the Alcyon C compiler and the DRI linker/loader.  The files
  35. shell.c and emcc.c contain the code for cc and for the shell command, which
  36. let you run TOS applications from within the editor. The cc command expects
  37. for drive M: to be a temporary ram disk and drive E: to contain source. 
  38. These assumptions are hardwired into the source.  However, if the file
  39. cc.ini exists on the default drive when uemail starts up, the program will
  40. read that file and install its values for the source, include, temporary,
  41. symbols, and compiler directories.  Alternatively, the user can load a
  42. command file after the editor has started.  The following is a sample
  43. cc.ini file:
  44.  
  45. /* cc.ini file for cc.ttp and uemail.ttp */
  46. source=e:\            /* C, lnk, and 68K files    */
  47. include=d:\stdlib.h\        /* headers    */
  48. temp=m:\            /* temporary files, o files, and final prg  */
  49. symb=c:\bin\            /* as68symb.dat    */
  50. bin=c:\bin\            /* compilers, assembler, linker, and loader */
  51. tdrive=m            /* temp drive drive designation    */
  52. home=c:\uemail\            /* where it all began    */
  53. root=c:\            /* boot directory    */
  54. assembly=d:\assembly.s\        /* assembly sources    */
  55. etc=c:\util\            /* utility programs    */
  56. comm=c:\comm\            /* communications    */
  57. shell=c:\util\pcommand.prg    /* shell program    */
  58. syslib=c:\bin\            /* library directory    */
  59. lnkfile=xemacs            /* filename of link command file    */
  60. float=                /* flag for floating point -f, -e or nil*/
  61. dolink=1            /* if 1, call linker after compiling file[s] */
  62. delete=1            /* delete I, S, 68K files? 1==YES    */
  63. /* function key bindings for uemail.ttp */
  64. F1=setmark            /* sets the mark */
  65. F2=listbuffers            /* lists current buffers */
  66. F3=filename            /* change current filename */
  67. F4=writeregion            /* write text between point and mark to file */
  68. F5=fileinsert            /* insert file at point */
  69. F6=fileread            /* read file into current buffer */
  70. F7=filevisit            /* visit (find) a file */
  71. F8=filewrite            /* write out buffer to named file */
  72. F9=filesave            /* save current buffer if changed */
  73. F10=quickexit            /* save all changed buffers and exit */
  74. /* Number pad bindings for uemail.ttp */
  75. N(=backword            /* backward word */
  76. N)=forwword            /* forward word */
  77. N/=grtw                /* globally remove trailing whitespace */
  78. N*=retversion            /* return current version to message line */
  79. N7=gotobol            /* goto beginning of line */
  80. N8=gotoeol            /* goto end of line */
  81. N9=unkncom            /* unknown command */
  82. N-=pageback            /* back by one text page (60 lines default) */
  83. N4=backsent            /* goto beginning of sentence */
  84. N5=forwsent            /* goto end of sentence */
  85. N6=unkncom            /* unknown */
  86. N+=pageforw            /* forward by one text page */
  87. N1=gotbop            /* goto beginning of paragraph (blank line) */
  88. N2=goteop            /* goto end of paragraph (blank line) */
  89. N3=unkncom            /* unknown */
  90. N.=forwdel            /* delete character under cursor */
  91. NENTER=indent            /* newline and indent */
  92.  
  93. The cc.ini file is read at startup, but the values can be changed after
  94. initialization using the commfil command (CTLX-CTRL-E).  Each line must be
  95. formatted as above.  The word before the equal sign is the `alias' name
  96. used by the program, and the line to the left of the equal sign is the
  97. actual path name assigned to the aliased variable.  There can be no
  98. embedded blanks or tabs in a name or alias, but comments may appear on any
  99. line as long as there is at least one space or tab character between the
  100. end of the path and the beginning of the comment.  No special comment
  101. characters are necessary although using standard comment markers like those
  102. above help to make the comments more readable.  The order of definitions is
  103. unimportant, and blank or extra lines are ignored as are aliasses for which
  104. there are no internal matches to be found (this is what allows both the
  105. cc.prg and uemail to use the same startup file without problems).
  106.  
  107. Typing `cc' after issuing the shell command (CTRL-C) and the filename at
  108. the command line prompt invokes the compiler.  To compile the file
  109. e:test.c, you simply type test at the command line prompt.  The output file
  110. will be on drive M:. If the variable dolink equals 1, then the linker will
  111. be loaded and told to get its command from the file defined by linkfile. 
  112. (The linkfile must be on the source directory and must have an .LNK extent;
  113. additionally, because the link68 program cannot handle filenames longer
  114. than 13 letters, including the path and drive, your filename plus source
  115. directory should be no more than 9 characters long.)
  116.  
  117. The set path command and all the file commands also use the alias table. If
  118. at the command's prompt you type a line which begins with a `~', these
  119. commands look up the word after the ~ and test it against the known
  120. aliases.  If the word match matches a known alias, the string associated
  121. with that alias is copied into the filename.  Thus if "temp=c:\files\temp"
  122. is in the cc.ini file at startup, typing the read file command ^X^R and
  123. asking for the file ~temp\test.i will read in the file c:\files\temp\test.i
  124. (note that the `\' character is necessary, and the `~' must be the first
  125. character on the line).
  126.  
  127. Uemail also supports writers.  In addition to the useful macro function,
  128. uemail provides sentence, paragraph, and page movement commands.  It
  129. provides two punctuation movement commands, forward to next punctation and
  130. backward to previous puntuation, useful for moving to the next comma or
  131. quotation mark in a text.  Uemail extends the usual microemacs on-screen
  132. editing features, adding an indent column with the ability to define an
  133. indent prefix.  Unlike other versions of microemacs, uemail's fill
  134. paragraph command leaves the cursor inside the paragraph in the same spot
  135. where it was when the command was issued.  There are line-based commands for
  136. formatting texts.  The flushleft, flushright, center, transpose words, and
  137. globally delete trailing whitespace all deal with text appearance.  The
  138. indent subsequent newline same as this lets you open a line